package cn.com.dcsgo.controller;

import cn.com.dcsgo.pojo.User;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 返回Json数据
 * 如果某个Controller中的所有方法都返回Json数据
 * 而不作视图解析可以使用@RestController注解
 * 这个注解相当于@Controller + @ResponseBody
 *
 * @author Dcsgo
 * @since 2025/3/3 14:38
 */
@RestController// 它等于@Controller + @ResponseBody，但RequestMapping还是要写的
@RequestMapping("json")
public class JsonController {

    /**
     * 如何让handler返回json数据?
     * 1. 导入jackson的依赖
     * 2. 在方法上添加@ResponseBody注解
     * 集合类型和类对象到json的转换将由SpringMVC自动完成
     *
     * @return User
     */
    @GetMapping("data1")
    public User getUser() {
        return new User("dcsgo", "123456");
    }

    @GetMapping("data2")
    public List<User> getUsers() {
        return List.of(
                new User("dcsgo", "123456"),
                new User("DCS", "654321")
        );
    }
}
